package com.gitee.swsk33.lucenedemo.util;


import org.commonmark.node.Node;
import org.commonmark.parser.Parser;
import org.commonmark.renderer.html.HtmlRenderer;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

/**
 * Markdown文件相关实用类
 */
public class MarkdownUtils {

	/**
	 * Markdown解析器
	 */
	private static final Parser PARSER = Parser.builder().build();

	/**
	 * Markdown到HTML渲染器
	 */
	private static final HtmlRenderer RENDERER = HtmlRenderer.builder().build();

	/**
	 * 将Markdown内容转换为纯文本
	 *
	 * @param markdown Markdown格式文本
	 * @return 转换后的纯文本
	 */
	public static String convertMarkdownToPlainText(String markdown) {
		// Markdown解析为HTML
		Node markdownRoot = PARSER.parse(markdown);
		String html = RENDERER.render(markdownRoot);
		// HTML转换为纯文本
		Document htmlDocument = Jsoup.parse(html);
		// 提取纯文本
		return htmlDocument.wholeText();
	}

}